Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

STM32WBA: Implement BLE support #66181

Merged
merged 7 commits into from
Dec 18, 2023

Conversation

erwango
Copy link
Member

@erwango erwango commented Dec 5, 2023

Add BLE support on STM32WBA:

  • Make use of hal_stm32 PR providing the binary blob fetch command and files required to build a BLE controller library.
  • Implement BLE controller porting APIs on Zephyr
  • Provide STM32WBA HCI driver

Prior building a Zephyr BLE application, user should run 'west blobs fetch stm32' to install binary blobs providing the BLE controller support.

Current limitations, which will be fixed in subsequent PRs:

  • Temperature based calibration disabled
  • Not compatible with SETTINGS as this will require an adaptation in the flash driver

For now BLE is only compatible with nucleo_wba55cg board.
Since binary blob available in https://github.com/STMicroelectronics/STM32CubeWBA are not compatible with nucleo_wba52cg board, Zephyr BLE application won't build on this target.

Based on #65467, as it is based on STM32WBA V1.2.0 package.
Inlcudes 7bad12e to avoid CI related build issues.

@zephyrbot
Copy link
Collaborator

zephyrbot commented Dec 5, 2023

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff
hal_stm32 zephyrproject-rtos/hal_stm32@3990379 zephyrproject-rtos/hal_stm32@d183c9c (main) zephyrproject-rtos/[email protected]

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@erwango erwango added TSC Topics that need TSC discussion and removed area: Bluetooth platform: STM32 ST Micro STM32 area: Bluetooth Host labels Dec 5, 2023
@zephyrbot zephyrbot added manifest-hal_stm32 DNM This PR should not be merged (Do Not Merge) labels Dec 5, 2023
@erwango
Copy link
Member Author

erwango commented Dec 5, 2023

Addind 'TSC' label to review the binary blob addition. Don't hesitate to remove if this process is not required anymore.

jori-nordic
jori-nordic previously approved these changes Dec 6, 2023
@erwango
Copy link
Member Author

erwango commented Dec 18, 2023

@jhedberg Are you fine with the changes ?

@jhedberg
Copy link
Member

@jhedberg Are you fine with the changes ?

Looks generally fine. One small comment (see inline) - you can probably fix that by the time that the module PR has been merged and you update west.yml here in this PR.

erwango and others added 6 commits December 18, 2023 12:10
Add HCI Driver for STM32WBA devices.
Based on B91 HCI driver.

Signed-off-by: Erwan Gouriou <[email protected]>
RAMCFG will be required for STM32WBA BLE support.

Signed-off-by: Erwan Gouriou <[email protected]>
In order to enable BLE support on STM32WBA, following APIs are implemented:
- HostStack_: BLE Controller scheduling
- ll_sys_: Link layer API required for scheduling
- UTIL_TIMER_: BLE Controller timer utility
- LINKLAYER_PLAT_: BLE controller utilities

Signed-off-by: Erwan Gouriou <[email protected]>
SRAM6 is used by RF and should be defined as RAM_NOCACHE
to allow unaligned access reads.
"IO" might be a better match but is not available on this arch.

Signed-off-by: Erwan Gouriou <[email protected]>
We might have to do this differently:
Configure rng default clock in .dtsi
Set board specific config in .dts

Signed-off-by: Erwan Gouriou <[email protected]>
To be compatible with BLE operation and BLE Controler configuration,
update board clock configuration to work using a fixed core clock at
16MHz.

Signed-off-by: Erwan Gouriou <[email protected]>
Update west manifest to point to hal_stm32 PR containing changes
which allow to build a zephyr bluetooth application on STM32WBA.

Prior building such application, user should run 'west blobs fetch stm32'
to install binary blobs providing the BLE controller support.

Signed-off-by: Erwan Gouriou <[email protected]>
@erwango erwango removed the TSC Topics that need TSC discussion label Dec 18, 2023
@zephyrbot zephyrbot removed the DNM This PR should not be merged (Do Not Merge) label Dec 18, 2023
@fabiobaltieri fabiobaltieri added the DNM This PR should not be merged (Do Not Merge) label Dec 18, 2023
@fabiobaltieri
Copy link
Member

fabiobaltieri commented Dec 18, 2023

@carlescufi @nashif do you know if the vote for the blob happened?

@nashif
Copy link
Member

nashif commented Dec 18, 2023

@carlescufi @nashif do you know if the vote for the blob happened?

yes

@fabiobaltieri fabiobaltieri removed the DNM This PR should not be merged (Do Not Merge) label Dec 18, 2023
@fabiobaltieri fabiobaltieri merged commit 44af61b into zephyrproject-rtos:main Dec 18, 2023
24 of 27 checks passed
mathieuchopstm added a commit to mathieuchopstm/zephyr that referenced this pull request Jul 31, 2024
Remove the duplicate `USE_STM32_HAL_RAMCFG` Kconfig symbol definition
from Kconfig.stm32, which was introduced by accident in PR zephyrproject-rtos#66181,
commit 6ed002d.

Signed-off-by: Mathieu Choplain <[email protected]>
MaureenHelm pushed a commit that referenced this pull request Aug 2, 2024
Remove the duplicate `USE_STM32_HAL_RAMCFG` Kconfig symbol definition
from Kconfig.stm32, which was introduced by accident in PR #66181,
commit 6ed002d.

Signed-off-by: Mathieu Choplain <[email protected]>
Chenhongren pushed a commit to Chenhongren/zephyr that referenced this pull request Aug 29, 2024
Remove the duplicate `USE_STM32_HAL_RAMCFG` Kconfig symbol definition
from Kconfig.stm32, which was introduced by accident in PR zephyrproject-rtos#66181,
commit 6ed002d.

(cherry picked from commit d50e190)

Original-Signed-off-by: Mathieu Choplain <[email protected]>
GitOrigin-RevId: d50e190
Cr-Build-Id: 8740450565536499009
Cr-Build-Url: https://cr-buildbucket.appspot.com/build/8740450565536499009
Change-Id: Iccf114a72617301577d808f96a753adce992480f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/5761295
Tested-by: ChromeOS Prod (Robot) <[email protected]>
Commit-Queue: Jeremy Bettis <[email protected]>
Reviewed-by: Jeremy Bettis <[email protected]>
Tested-by: Jeremy Bettis <[email protected]>
mariucker pushed a commit to mariucker/zephyr that referenced this pull request Dec 12, 2024
Remove the duplicate `USE_STM32_HAL_RAMCFG` Kconfig symbol definition
from Kconfig.stm32, which was introduced by accident in PR zephyrproject-rtos#66181,
commit 6ed002d.

Signed-off-by: Mathieu Choplain <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

8 participants